Search Results: "tincho"

5 October 2009

Martín Ferrari: Nice

Last night I was about to sit down and write a post about how happy I was. After a long search, I found a beautiful appartment in Nice, with my flatmates we're cleaning and arranging stuff, we're planing parties and inviting friends to come over... When we were doing the moving, I started to see the city differenty: this time it was not just a visit. It made me remember the taste of starting from scratch, like when I did when I was 21. But some jerks ruined the party. Before sitting to write the blog post, I said I better check that the car is parked in a good place, tomorrow is Monday. And all of a sudden three guys assaulted me, making me a pass thru a real bad moment, and taking the car and house keys. Nothing happened to me, luckily, but I have no more car. I spent the day making things straight with police, insurance, etc. I had to spend a HUGE load on money to change a stupid door lock (I still cannot believe that people pay that much money for this "security" stuff), and more importantly, they ruined my mood. I'm really okay, so no need to help me or anything, I just wanted to say this somewhere. Tags: Planet Lugfi, Planet Debian

10 September 2009

Steve McIntyre: Cool DebConf

Yeah, OK, I suck and I should have posted about DebConf 9 while I was there or shortly afterwards. Well, I've been busy with various things (or, to be more specific, one person \o/). I'm slowly catching up on stuff now, so I thought I'd write something and link to some photos! I drove down from the UK with Neil, Chris and Chris and we had a good trip. We left Cambridge really early on Wednesday the 22nd, stopped at Le Mans for lunch, then headed to San Sebastian overnight. The French autoroutes were mostly empty and we made very good time, swapping drivers every two hours. Le Mans The venue was superb, with just about all the facilities we needed on site. And there was a handy outdoor bar in the park just up the street. Yay! MT residence As always, it was excellent to meet up with Debian friends old and new from all over the world. The DebConf team did a great job of making the conference happen and I had a wonderful time, as did everybody else I spoke to. Tincho! There was an official day trip involved, but as we had 2 cars from the UK a group of us rebelled and made our own trip out to do touristy things. We visited the Roman ruins in Merida (photos here), then as we were so close to Portugal we decided to head over the border and found the lovely old town of Elvas. Elvas After the conference, we headed slowly back up to the north coast of Spain, stopping over in Madrid and then Bilbao before catching the overnight ferry back to England. Along the way on that trip we saw a few sights such as the historic city of Pamplona and the "Valley of the Fallen", the monument to people killed in the Spanish Civil War. Valley of the Fallen I got back to Cambridge late on Monday the 3rd, tired but happy. We'd done 2,400 or so miles in the car and several hundred more on the ferry, and we'd all had a great journey. We saw some silly stuff along the way too, and I'll post more about those soon.

Martín Ferrari: Regex backreferences

Matt, not only Perl can do it, but is part of the standard POSIX extended regexes (see regex(7)). Here I check for 7-letters palindromes:
perl -lne '/^(.)(.)(.).\3\2\1$/ and print' /usr/share/dict/words
grep '^\(.\)\(.\)\(.\).\3\2\1$' /usr/share/dict/words
Tags: Planet Debian, programming

12 March 2009

Martín Ferrari: The Wire

A few months back, a friend of mine posted in his blog a clip from the HBO TV series called The wire. That three minutes long clip hooked me up right away, and today I finished the last of the 60 hour-long episodes, spanning five seasons. I recommend it to anyone that enjoys a good script, well developed characters, a director who doesn't treat his audience as five year olds, and good acting. Man, if a 10% of TV was this good, I might even consider buying a TV set! Tags: Planet Debian

26 February 2009

Martín Ferrari: When it changed

I didn't want to miss the opportunity to share this discovery, maybe the feminists or the sci-fans out there already know her well, but to me it's a completely new name. By this post I came to know Joanna Russ, a visionary intellectual, an incredible writer a, legendarily fiery critic [...], an unrepentant sci-fi fan [...], feminist crusader and one of the first major female and openly lesbian sci-fi scribe to hit major success. I was instantly hooked by her short story named When it changed (full text there). I cannot add more to what's said there, take a look. PS: Thanks, Coilhouse, one more book to already big list of wishlists... Tags: Planet Debian

23 December 2008

Emilio Pozuelo Monfort: Collaborative maintenance

The Debian Python Modules Team is discussing which DVCS to switch to from SVN. Ondrej Certik asked how to generate a list of commiters to the team s repository, so I looked at it and got this:
emilio@saturno:~/deb/python-modules$ svn log egrep "^r[0-9]+ cut -f2 -d sed s/-guest// sort uniq -c sort -n -r
865 piotr
609 morph
598 kov
532 bzed
388 pox
302 arnau
253 certik
216 shlomme
212 malex
175 hertzog
140 nslater
130 kobold
123 nijel
121 kitterma
106 bernat
99 kibi
87 varun
83 stratus
81 nobse
81 netzwurm
78 azatoth
76 mca
73 dottedmag
70 jluebbe
68 zack
68 cgalisteo
61 speijnik
61 odd_bloke
60 rganesan
55 kumanna
52 werner
50 haas
48 mejo
45 ucko
43 pabs
42 stew
42 luciano
41 mithrandi
40 wardi
36 gudjon
35 jandd
34 smcv
34 brettp
32 jenner
31 davidvilla
31 aurel32
30 rousseau
30 mtaylor
28 thomasbl
26 lool
25 gaspa
25 ffm
24 adn
22 jmalonzo
21 santiago
21 appaji
18 goedson
17 toadstool
17 sto
17 awen
16 mlizaur
16 akumar
15 nacho
14 smr
14 hanska
13 tviehmann
13 norsetto
13 mbaldessari
12 stone
12 sharky
11 rainct
11 fabrizio
10 lash
9 rodrigogc
9 pcc
9 miriam
9 madduck
9 ftlerror
8 pere
8 crschmidt
7 ncommander
7 myon
7 abuss
6 jwilk
6 bdrung
6 atehwa
5 kcoyner
5 catlee
5 andyp
4 vt
4 ross
4 osrevolution
4 lamby
4 baby
3 sez
3 joss
3 geole
2 rustybear
2 edmonds
2 astraw
2 ana
1 twerner
1 tincho
1 pochu
1 danderson
As it s likely that the Python Applications Packaging Team will switch too to the same DVCS at the same time, here are the numbers for its repo:

emilio@saturno:~/deb/python-apps$ svn log egrep "^r[0-9]+ cut -f2 -d sed s/-guest// sort uniq -c sort -n -r
401 nijel
288 piotr
235 gothicx
159 pochu
76 nslater
69 kumanna
68 rainct
66 gilir
63 certik
52 vdanjean
52 bzed
46 dottedmag
41 stani
39 varun
37 kitterma
36 morph
35 odd_bloke
29 pcc
29 gudjon
28 appaji
25 thomasbl
24 arnau
20 sc
20 andyp
18 jalet
15 gerardo
14 eike
14 ana
13 dfiloni
11 tklauser
10 ryanakca
10 nxvl
10 akumar
8 sez
8 baby
6 catlee
4 osrevolution
4 cody-somerville
2 mithrandi
2 cjsmo
1 nenolod
1 ffm
Here I m the 4th most committer :D And while I was on it, I thought I could do the same for the GNOME and GStreamer teams:
emilio@saturno:~/deb/pkg-gnome$ svn log egrep "^r[0-9]+ cut -f2 -d sed s/-guest// sort uniq -c sort -n -r
5357 lool
2701 joss
1633 slomo
1164 kov
825 seb128
622 jordi
621 jdassen
574 manphiz
335 sjoerd
298 mlang
296 netsnipe
291 grm
255 ross
236 ari
203 pochu
198 ondrej
190 he
180 kilian
176 alanbach
170 ftlerror
148 nobse
112 marco
87 jak
84 samm
78 rfrancoise
75 oysteigi
73 jsogo
65 svena
65 otavio
55 duck
54 jcurbo
53 zorglub
53 rtp
49 wasabi
49 giskard
42 tagoh
42 kartikm
40 gpastore
34 brad
32 robtaylor
31 xaiki
30 stratus
30 daf
26 johannes
24 sander-m
21 kk
19 bubulle
16 arnau
15 dodji
12 mbanck
11 ruoso
11 fpeters
11 dedu
11 christine
10 cpm
7 ember
7 drew
7 debotux
6 tico
6 emil
6 bradsmith
5 robster
5 carlosliu
4 rotty
4 diegoe
3 biebl
2 thibaut
2 ejad
1 naoliv
1 huats
1 gilir

emilio@saturno:~/deb/pkg-gstreamer$ svn log egrep "^r[0-9]+ cut -f2 -d sed s/-guest// sort uniq -c sort -n -r
891 lool
840 slomo
99 pnormand
69 sjoerd
27 seb128
21 manphiz
8 he
7 aquette
4 elmarco
1 fabian
Conclusions:
- Why do I have the full python-modules and pkg-gstreamer trees, if I have just one commit to DPMT, and don t even have commit access to the GStreamer team?
- If you don t want to seem like you have done less commits than you have actually done, don t change your alioth name when you become a DD ;) (hint: pox-guest and piotr in python-modules are the same person)
- If the switch to a new VCS was based on a vote where you have one vote per commit, the top 3 commiters in pkg-gnome could win the vote if they chosed the same! For python-apps it s the 4 top commiters, and the 7 ones for python-modules. pkg-gstreamer is a bit special :)

14 December 2008

Martín Ferrari: On voting

This is really ironic, I've been waiting for a long time to have the right to vote in Debian. Now I have it, but I'm not sure if I want to exercise it. I don't think I need to explain much, many already did that before on planet. It basically boils down to: So, I second Noodles' proposal, to make this sillyness go away for good. Meanwhile, I have to decide if voting 2..21 or not voting at all. Tags: Planet Debian, Debian, Pol tica

17 October 2008

Martín Ferrari: A season in Plan 9 land

I mostly stayed under a rock during the last weeks: exams season, some assingments plus one week of much needed [VAC]; ironically in the DebConf 8 secondary hotel. I'm in a very interesting course on operating systems' programming, it's a new optative course, and has generated a lot of expectatives: most of the systems-oriented undergrads in the computer science career are attending. The downside is that it's *intensive*: we're expected to build from scratch a minimal operating system, starting from the bootloader. So far my group has already done a bootloader that understands FAT, and the entry point for the OS, in which the basic stuff is setup: gate A20, interruptions, protected mode, GDT, etc. Plan 9 mascot: GlendaAlso, each group is required to do a presentation of some systems research topic, and we choose Plan 9 from Bell Labs, that mostly unknown OS that was meant to be a better UNIX, but never gained popularity. So I spent many days playing with it, trying to grok quickly what it was about, and creating a small network of virtual hosts (in Qemu) that could show how it all fit togheter. Plan 9 has all the credentials: created in the same lab as UNIX, designed by the same people, which already learned from past mistakes. It was started in the late eighties, and it really feels like what the future was meant to be. Sadly, we're just starting to see a few of it's revolutionary ideas being applied to other systems: UTF-8, /proc, unionfs, fuse, clone(2), separate namespaces; all of these follow concepts first created in Plan 9, UTF-8 was designed by Ken Thompson "in front of my eyes, on a placemat in a New Jersey diner one night in September or so 1992", in Rob Pike's words. Not happy enough with reworking all the core concepts, they also recreated the visual environment. I have to admit, the user-facing ideas are so foreign that I still don't feel very comfortable using it. Surprisingly, the desktop is very mice-centric, it cannot be used at all without the mouse, and it's bothersome with less than three buttons. Anyway, the underlying workings are so attractive, that I cannot stop from wondering if a hybrid system could be built (Debian/kPlan9 anyone?). To illustrate, I'll reproduce here the same example that I showed yesterday and left some jaws hanging. I had booted a CPU server and a diskless terminal, called cpu-0 and term-0 respectively. This is a screenshot taken in the terminal, which is basically a telnet to my Debian box:
Plan 9 screenshot: first telnet Nothing spectacular here, except for the weird syntax, it was seen like this in the Debian box:
martin@abraxas:~$ netstat -nt   grep :22
tcp        0      0 10.0.2.1:22             10.0.2.30:39879         ESTABLISHED
But here comes the fun, I ran an import command, which is more or less a remote filesystem mount, with which I mount the remote machine's /net in the local namespace. It has to be noted that the /net path is by convention the entry point to anything network related, including all the networking API.
Plan 9 screenshot: second telnet And the wornderful thing is that this works as it should (note the remote address):
martin@abraxas:~$ netstat -nt   grep :22
tcp        0      0 10.0.2.1:22             10.0.2.10:38158         ESTABLISHED
So, what happened? telnet wanted to create a TCP connection, and that is accomplished opening /net/tcp/clone, but then it found the imported filesystem. The open(2) request was then transferred to the remote machine, and there the networking code did the actual TCP/IP dance. Things like this make you realise that maybe the BSD sockets API is not that nice an abstraction; in Plan 9 there are no BSD sockets, it's only implemented in the POSIX compatibility libraries, which aren't used by any of the core tools. Neither there exists any threads support, you just call rfork(2) setting the appropiate flags, exactly what glibc does under the covers nowadays. They also decided to live without select(2) or poll(2), there are no non-blocking calls. If you want non-blocking, you rfork(). The only syncronisation primitive is rendezvous(2), and everything else is built on that. At this point, it should not surprise you that to kill a process you can type echo kill > /proc/$pid/ctl; and that there's no need for an equivalent to Xnest, as rio (the graphical interface) provides a modified /dev, you just type rio inside a window and there you go. Yes, I'm hooked. If you're interested, I compiled many links here (some Spanish there, but all the content is in English), as one of the weakest points in Plan 9 is the unorganised and missing documentation. Tags: Plan9, Planet Lugfi, Planet Debian, Facu

30 September 2008

Martín Ferrari: Detektivbyr n

Found via the fine Coilhouse blog (which in turn was discovered a few days ago after a middle-button-click crisis), these Swedes are a strange mix of music box, electronic and folk music. This video made me crave for more, but fear not, the two albums they've already released can be found in the usual places. Update: Forgot to include the link to the (quite ugly :)) Detektivbyr n's webpage, thanks Erik for noticing. Tags: Planet Lugfi, Planet Debian, Musica

16 September 2008

Martín Ferrari: Dear music players, please stop ordering my music, ktnxbye!

Many people that know me, know how fond of my music collection I am. They quickly notice that my CDs are sorted alphabetically with precise rules (surnames first, articles ignored, etc), and that with my digitalised music I'm almost obsessive. All my 50+ gigs of compressed music follow a precise filesystem scheme, with a metadata file on each album in XMCD format and I also have my toolcase of shell scripts to rename files, look up in the freedb database, etc. Those scripts also were meant to tag the MP3 files, but I never cared about it, since all the data was in the filesystem, and also because ID3v1 —which is still the only thing mp3info understands— is the shite, and doesn't allow for long titles, not any other useful data. I never bothered to even add OGG tagging. (Before you mention it, transcoding audio to get rid of MP3 is not an option, that'd require a re-riping everything from scratch). If I chdir into Waits, Tom/(1973) Closing time —for example— and type mplayer *, It Just Works . But this new trend of tag-based music players, made for people that cannot order their music, annoys me to no end. In most of them, there's no way of telling the thing to stop trying to be smart! So if you're writing an audio player, pretty please, with sugar on top, remember that some of you users can know better, and provide an option to disable any non-filename-based sorting. Today I made my world a better place by patching decibel-audio-player, which was a minor offender (the sorting was only done when adding directories to the playlist). The media players on my gorgeous Nokia n810 are a total pain in the ass, and would require a lot more work to "dumb" them down. Al least it's free software. Tags: Planet Debian, Planet Lugfi, M sica, OCD

20 August 2008

Martín Ferrari: Wunderbar!

DC8 group photoYou can say that DebConf8 is officially is over for you, when you're finally home, after three weeks in Mar del Plata; go to a primary school friend's house to celebrate his birthday, and end the day watching a movie alone. It's also when you delete the reminder for the two weekly IRC meetings, when you have to go back to classes, convince your boss not to kill you because of all the work hours spent on organisation, make your pet cat recognise you again, and be able to make a blog post about it. What can I say about DC8? It's been madness, rush, fun, tiredness beyond belief, intoxication, mao, meetings every day with the hotel, friends that you get to see only once a year, musicians out of key, and pride. Pride of seeing people enjoying themselves, things going more or less as were planned, and being part of a group of people that worked hard to make this dream come true: thanks to all of you! Cl mence Po syOne little thing I brought from MDQ is a copy of In Bruges, a movie I didn't know anything about, but whose title caught me. That's the movie I've just seen and loved because it brought me memoirs of Bruges and Belgium. City and country I visited last year after DebConf, and fell in love with. That's something else that DebConf has been for me: the opportunity to visit countries far away from mine, and not wanting to ever stop. Anyway, I still want to see some fellow debianites before they go to their respective countries. So a barbecue will take place at my home this weekend, just to compete with Steve's. If you're still around, just talk to me to arrange details and eat a little more beef if you hadn't got an overdose yet! By the way, I totally fell in love with Cl mence Po sy after this movie :-) Tags: Planet Lugfi, Planet Debian

30 July 2008

Joerg Jaspert: Argentina - Mar del Plata

After a night at Tinchos place, then driving and walking around Buenos Aires a day and finally taking a 5hours bus trip, Mark, Stephen and I arrived in Mar del Plata early this morning, at around 05:30AM. Brr, early. We could checkin to the Hotel at 06:30. During checkin we discovered that Stephen and my birthday are, in absolute numbers, 6 years, 6 months and 6 days apart, ie. 666. And we are managing the evil, I mean, the network for DebConf. HA. HAHA. HAHAHAHAHAHAHAHAHAHAHAHA. Ignoring that - stuff looks pretty nice over here. Most machines are working, most services we (as in admins, not video team) care about are setup or will be ready within the next 2 days, the Hotel stuff is doing the last preparations, it all looks great. There hasn’t been a DebConf that was that prepared, ever. We currently have a local smtp server accessible for everyone here (no direct outgoing smtp, we firewall that), a local OFTC IRC Server (Freenode IRCd is in setup), soon a full (pushed) mirror, preparing an upload queue for ftp-master, a schedule announce bot is also ready to run, most of the building has good wireless covering (and the rest is scheduled to get better soon). And lots of other nice things that are surely there and I just forgot to mention but which we will mention in some wiki page in time for you. (Oh, and make sure to listen to what DHCP tells your machine, all the various services get send to you :) ). Comments: 0

29 July 2008

Joerg Jaspert: Argentina

Despite all those talks about the Lufthansa strikes my flight down to Argentina worked pretty well. We have been delayed by about 20 minutes, and the service on board was less than usual, but still enough to not get a cannibal during the flight. :) But looking at what I hear from various sources people with later flights might have a little more trouble. Hopefully not too many, like cancelled flights. Right now we (Mark ‘mhy’ Hymers, Stephen ‘sgran’ Gran and myself) are sitting at Martin ‘Tincho’ Ferraris place, where we stayed the last night. Current plan seems to be “Go to BA, look around the City a bit (after we found a place to store our luggage there), in the evening meet with local people, then take the night bus to Mar del Plata, so we arrive there on Wednesday”. Comments: 0

23 July 2008

Martín Ferrari: Wanted: Nokia n810

Image of an N810 from WikipediaDear lazyweb, I'm craving for one of these niceties. But unfortunately in Argentina they are very expensive and not easy to find (I think there's not any 'legal' channel to buy them currently). So, anyone coming to DebConf from the States would be so kind as to bring me one of these? They are small (72 128 14 mm) and lightweight (226 grams), and aren't so expensive as to be a big risk; I can buy it from here so you don't even have to lend the money for the time being. So if you want to help make a DebConf organiser happy, you know how :-). I can bribe in the form of a nice bbq at home, or a dinner at some restaurant. Tags: Planet Debian

10 July 2008

DebConf team: DebConf 8 website: a call for help (Posted by Mart n Ferrari)

DebConf 8 is approaching and our website is clearly not what we’d like it to be. It turns out that compiling all the useful stuff that travellers might need is not easy, so we kindly ask you —dear lazyweb—, to lend us a hand. The most important thing we need, is to recognise missing data. When you’re a local, is difficult to know what foreigners might need to know. So, even if you don’t know the country, your different point of view could help. The second thing is to actually get articles written, some stuff ought to be written by locals, but the majority can be researched from the web (as we already did!). Proof-reading and checking translation is also appreciated. Send us your patches, comments and suggestions to the website queue at the RT system, or contact Tincho@OFTC. Don’t sweat over formatting: plain text is OK, if you want to provide markup, please use very spartan XHTML Strict.

6 July 2008

Martín Ferrari: How to organise DebConf and remain sane

Forget it, there's no fucking way in hell to accomplish that. The last 6 months of my life had been turned upside-down, it's too much work, too much pressure... My performance at the University (which was never too good) degraded, sometimes I took too much time from my paid work, not to mention the abandon of almost all my other Debian duties. That is enough to drive you nuts, but there's more: a couple of event at my jobs resulted in lots of overwork around March-April and even more in the last month... Sum all this up, and you find that the only way to keep doing things is to rob precious sleeping hours: to finish pending work, to prepare the exams, and from time to time to have a little fun. The result is a grumpy mood, a aching back, and a tendency to get into arguments easily. My apologies to all the people that I mistreated, specially Marga, who's in a similar state of madness. So I really hope that DC8 turn out to be a great conference, and that everybody will have a good time. So all this would be justified. Tags: Planet Debian, Planet Lugfi

Martín Ferrari: ,

" , "/Oi u gaiu, pry Dunaiu, usually translated as "In a glade", is the title of a song I love. I first heard it about ten years ago, when I heard Milla's first album (she was not well known at the time, now she's quite popular because of her acting in many movies). It is a traditional Ukrainian folk song with a beautiful melody. A few weeks ago, I wanted to hear that Milla record again, and then curiosity led me to search for the mysterious song. I found a different version in a slow rock tempo (Milla's version is in 3/4), that I recommend you to hear. That led me to the discovery of the The community music project, a group of people that record and edit music to later release it for free to friends and in the Internet. They have a lot of "world music" (I hate the term, but I don't know any other way of saying that), the musicians' quality varies, but there is some nice stuff to discover. Tags: Planet Debian, Planet Lugfi

18 April 2008

Martín Ferrari: I am finally a DD!

*Ahem*... I'm soooo excited! After 884 days, I just became a DD. It was almost two years and a half of much work, learning, patience, struggling to keep the morale up, and more work. In fact, Debian is already taking almost all my free time since months ago, something I don't regret at all. I was able to do most of the things I wanted to do, even without an account, including: DebConf organisation, team-maintaining packages (sorry pkg-perl folks, dc8 didn't leave me much time lately), some QA work, coding tools, etc. But this small feat has a huge symbolic importance to me, now the project as a whole is recognising me as a full member; many people already did individually, but sometimes you need the "official" stuff. So thanks to all the people that helped me during the way (sorry for the omissions!): maxy, for introducing me to Debian, marga for encouraging me to apply to NM —and all the moral support—, des for the help and the sarcasm, damog for being my first AM, even if we had our problems, ana for being my second AM and being so supportive, the Perl-lings for being such a nice bunch of people to work with and to learn from. Thanks also to all the nice people I've met along the way (dudes!), you make Debian a nicer place. Update: There was another paragraph that I butchered after noticing that the actual process in the last 24 hours was different than what I thought. But anyway, my thanks to Sam, Myon and Ganneff for their respective help in this process. Also, I don't want to forget to thank Ganneff for the trust he'd put on me during this time. Tags: Planet Lugfi, Planet Debian, Debian

Lucas Nussbaum: 19 new Debian Developers! \o/

I am very happy that 19 contributors who were waiting for their accounts, sometimes for a very long time, became Debian Developers today. This is great news for them, and for the project as a whole. Many thanks to all people involved for making this possible, including Joerg Jaspert, Steve McIntyre and James Troup. And congratulations to (using their account names) kibi, plessy, gregoa, goneri, tincho, akumar, filipe, miriam and the others I haven’t had the chance to work with yet. It also seems that the various pending issues (updating keys that expired, etc.) have been resolved, which is great news for several of our current DDs. But this doesn’t solve the DAM problem on a permanent basis. Something interesting about today’s events is that the account manager asked the system administrators to create the accounts, which is a nice way to offload part of the process. But the keyring maintainance is still a SPOF. A tool has been developed to allow multiple people to collaboratively edit the same keyring (and it’s used to maintain the Debian Maintainers keyring), but I’ve heard that some people weren’t satisfied with it, unfortunately. Let’s hope that this is solved soon, so the next ones to go through NM won’t have to wait that long!

29 March 2008

Martín Ferrari: Six (more) reasons to hate Java

There are many reasons to hate Java, it's like shooting fish in a barrel. But in the last weeks I found some more, half of them aren't even fault of the standard API (the usual culprit), and I want to share my frustration with the rest of the world. It has no unsigned types Say you want to manage binary protocols, files, etc. You'd like to store and retrieve bytes and words in machine format, of course, but you'll have a hard time finding the right value because you can't have a goddamn unsigned byte! So if you want —for example— to read the length of a string which can be bigger than 127 as a single byte, you'll end doing some aberration like this:
byte strl = foo_retrieve_byte();
int real_strl = strl < 0 ? 256 + strl : strl;
You can't inherit constructors Maybe there's something in the OOP dogma that mandates this, but if I want to define a new exception that does nothing, but allows me to differentiate a custom class of errors, I don't want to explicitly write dummy constructors instead of writing an empty class —which is simpler and cleaner— and have the four standard exception constructors for free. So, you'll have to do this:
public class FooException extends BarException  
	public FooException()   super();  
	public FooException(String s)   super(s);  
	public FooException(Throwable t)   super(t);  
	public FooException(String s, Throwable t)   super(s, t);  
 
Instead of this:
public class FooException extends BarException    
You can't declare destructors Say you've coded a nifty jdbc wrapper that automates most of the boring stuff, like automatically freeing the connection to the connection pool when there was an exception thrown, logs errors and maybe queries, handles auto-commit settings, etc. In the simple case, you'd create an instance, do some work, and then close the connection; if there was an SQL exception, you little class will take care of it and re-throw. BUT, if in the middle of your work in the calling code, you have an unrelated exception, you need to catch it or you'll leak connections, because the wrapper class doesn't have a way of handling this, even if the object gets garbage collected! In the end, I had to write tons of times the same stupid code:
try  
	j = JdbcWrapper.new(foo);
	j.doSelect(bar);
	unrelatedObject.unrelatedMethod();
	j.doUpdate(baz);
  finally  
	j.close();
 
You don't have a sane way of controlling the terminal Most of the time, when dealing with web applications, you won't need this. But when you're doing some serious stuff, you might need to write a CLI application (oh, noes!); and then do some stupid thing like asking the console to stop echoing characters so you can ask for a password. You'd think that the smart guys that designed Java would have devised an portable library to handle this trivial task, but no! Guess what I found when looking at a way of doing this? Some idiot at SUN recommending (and many dummies following) a background thread that spits backspaces faster than the user can write! Of course, SUN will tell you that using Strings is insecure for storing passwords, because they cannot be wiped out like byte arrays. But they fail to mention something as basic as not showing the fucking password in the first place, or something as important as wiping the object after using it: you can't lock memory from Java, so you risk that it could end in some slack in the swap file. No, you can't leave stdin/stdout/stderr fscking alone! When dealing with the previous problem, you say fuck portability and just call stty -echo to do the job. Well, you'll find a little surprise! Even if you don't ask for the process' reader/writer streams, the Runtime class will pipe(2) and dup(2) your child process' standard streams. With this excellent approach you cannot have a child process output stuff to the user, nor even errors; you cannot allow the child process access the tty (stty obviously can't do shit with a piped stdin). And there's no fucking way to tell it to stop crippling your standard streams! The only solution I could find was a very ugly shell hack:
Process p = Runtime.getRuntime().exec(
	new String[] "sh", "-c", "stty echo > /dev/tty < /dev/tty 2>&1" 
);
No, you can't handle signals After doing the previous hack, you find that if you interrupt your process while waiting for user input, your console will remain in noecho state. So the obvious thing is to catch SIGINT and friends and call stty again to restore the console. HA! You will find that there's no standard way of doing that, and if you really need it, you have to resort to undocumented com.sun.* classes which aren't even guaranteed to be present in every JVM. My solution was to set up a shutdown hook, which solved this problem, but would not solve other very common problems that are solved usually with signal handlers. I'm going to DebConf8, edition 2008 of the annual Debian 
       	developers meeting Tags: Planet Lugfi, Planet Debian

Next.

Previous.